iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0
Modern Web

Django案例實作之踩坑全記錄系列 第 6

認識Django資料庫設定及settings.py

  • 分享至 

  • xImage
  •  

Quiz由多道題目及答案組成,需要一個資料庫儲存這些項目,

DATABASE

在settings.py做資料庫設定後就可以使用。首先在settings.py會看到很多英文大寫的變數,資料庫的設定就是在DATABASES做設定,Django初步設定sqlite3為資料管理系統,另外可以看到資料庫檔案db.sqlite3也幫我們建好放在專案裡面。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

BASE_DIR

BASE_DIR指的是我們專案的根路徑,就是最外層mysite的路徑:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

最裡面的括號是settings.py的路徑,再外面一層是專案mysite的路徑,最外面的括號呢就是mysite資料夾的路徑。

DEBUG

若還只是在編寫專案的階段,通常會開啟Debug(DEBUG=True),因為測試時若出現錯誤,網頁會提示錯誤的程式碼,方便我們解決問題。但當網站正式上線記得要關閉,改設定DEBUG=False。

INSTALLED_APPS

Django本身有提供下面幾個應用程式,給開發者了一大助力,但到目前為止我也還不是每個都認識跟用過。admin是一個網站後台管理系統,很快就會用上他;auth可以做到簡單的用戶網站權限管理;sessions跟cookies用意一樣;staticfiles可以幫助開發者管理網站上的靜態檔案。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

TEMPLATES

前面有寫到,我們需要自己新增一個放置html檔的資料夾,當到該步驟時,需要回到這裡做路徑的設置。

TIME_ZONE

可以改為所在地的時區,台灣的話就是改成TIME_ZONE = 'Asia/Taipei'

將sqlite3改為postgresql

這次專案不用默認的sqlite3,而是使用postgresql,因據我所知Heroku看起來不支援使用sqlite3,但一開始耳朵很硬,想著先用sqlite3去跑,結果就是怎麼樣都行不通,忘記是出現怎樣的error,等寫到部署網站時再來回頭試一次好了XD

在settings.py改為使用postgrsql之前,我們的電腦必須先安裝postgresql,另外可以使用pgadmin4(一款postgresql的GUI)輔助我們查詢資料庫的狀態等,這部分篇幅會比較長,明天再開獨立一篇來寫吧~


上一篇
Django URLconfs
下一篇
Django - PostgreSQL
系列文
Django案例實作之踩坑全記錄34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言